এসকিউএল বিটুইন (SQL Between)

Database Tutorials - এসকিউএল (SQL) - এসকিউএল ব্যাসিক (SQL Basic) | NCTB BOOK

একটি নির্দিষ্ট রেঞ্জের মধ্যে ভ্যালু সিলেক্ট করার জন্য SQL BETWEEN অপারেটর ব্যবহার করা হয়।


SQL BETWEEN অপারেটর

BETWEEN অপারেটর একটি নির্দিষ্ট রেঞ্জের ভ্যালু সিলেক্ট করে। এই ভ্যালু-সমূহ টেক্সট, সংখ্যা অথবা তারিখ হতে পারে।

SQL BETWEEN সিনট্যাক্স

SELECT name_of_column's
FROM name_of_table
WHERE name_of_column BETWEEN value_1 AND value_2;

 


 

নমুনা ডেটাবেজ

IN অপারেটর এর ব্যবহার দেখার জন্য আমরা আমাদের নমুনা ডেটাবেজ Student ব্যবহার করবো।

নিচের অংশটি "Student_details" টেবিল থেকে নেওয়া হয়েছেঃ

আইডি নংরোল নাম্বারশিক্ষার্থীর নামপ্রতিষ্ঠানের নামঠিকানা
১০১তামজীদ হাসানজাতীয় বিশ্ববিদ্যালয়চাঁদপুর
১০২মিনহাজুর রহমানজাতীয় বিশ্ববিদ্যালয়চাঁদপুর
১০৩মোঃ সবুজ হোসেনজাতীয় বিশ্ববিদ্যালয়চাঁদপুর
১০৪ইয়াসিন হোসেনজাতীয় বিশ্ববিদ্যালয়চাঁদপুর
১০৫ফরহাদ উদ্দিনজাতীয় বিশ্ববিদ্যালয়চাঁদপুর

 

BETWEEN অপারেটরের উদাহরণ

নিম্নের SQL BETWEEN স্টেটমেন্টটি "Student_details" টেবিলের "Roll_number" কলামের ১০১ থেকে ১০৫ রেঞ্জ পর্যন্ত সকল রেকর্ড গুলো নিয়ে আসবেঃ

উদাহরণ

SELECT * FROM Student_details
WHERE Roll_number BETWEEN '১০১' AND '১০৫';

 


 


সতর্কতাঃ BETWEEN অপারেটরটি বিভিন্ন ডেটাবেজে বিভিন্ন ফলাফল দেখাতে পারে!

  • কিছু ডেটাবেজে BETWEEN অপারেটরটি টেষ্ট ভ্যালুসহ এর মাঝখানের ভ্যালুগুলোর জন্য ফলাফল দেয়।
  • আবার কিছু ডেটাবেজে টেষ্ট ভ্যালুছাড়া এর মাঝখানের ভ্যালুগুলোর জন্য ফলাফল দেয়।
  • আবার কিছু ডেটাবেজে প্রথম টেষ্ট ভ্যালুসহ এবং শেষ টেষ্ট ভ্যালু ছাড়া এর মাঝখানের ভ্যালুগুলোর জন্য ফলাফল দেয়।

সুতরাং BETWEEN নিয়ে কাজ করার পূর্বে BETWEEN অপারেটরটি আপনার ডেটাবেজে কিভাবে কাজ করে তা চেক করে দেখুন!


NOT BETWEEN অপারেটরের উদাহরণ

পূর্ববর্তী উদাহরণে আমরা রেঞ্জের ভিতরের ভ্যলু-সমূহ সিলেক্ট করেছিলাম। আর এই উদাহরণে আমরা ঐ নির্দিষ্ট রেঞ্জের বাইরের ভ্যালু-সমূহ সিলেক্ট করবো। এজন্য আমরা BETWEEN এর পরিবর্তে NOT BETWEEN ব্যবহার করবো।

উদাহরণ

SELECT * FROM Student_details
WHERE Roll_number NOT BETWEEN '১০১' AND '১০৫';

 


 


BETWEEN এবং IN অপারেটর একত্রে ব্যবহার করা

নিম্নের SQL স্টেটমেন্টটি "Student_details" টেবিলের "Roll_number" কলামের ১০১ থেকে ১১০ রেঞ্জ পর্যন্ত রেকর্ড গুলো নিয়ে আসবে, কিন্তু ৪, ৭ এবং ৯ "Id" বিশিষ্ট রেকর্ড গুলো দেখাবে নাঃ

উদাহরণ

SELECT * FROM Student_details
WHERE (Roll_number BETWEEN '১০১' AND '১১০')
AND NOT Id IN(৪, ৭, ৯);

 


 


টেক্সট ভ্যালুসহ BETWEEN অপারেটরের ব্যবহার

নিম্নের SQL স্টেটমেন্টটি "Student_details" টেবিল এর রেকর্ড-সমূহের মধ্যে যে সকল "শিক্ষার্থীর নাম(Student_name)" 'ক' থেকে 'ম' পর্যন্ত অক্ষর দ্বারা শুরু হয়েছে শুধুমাত্র তাদেরকে নিয়ে আসবেঃ

উদাহরণ

SELECT * FROM Student_details
WHERE Student_name BETWEEN 'ক' AND 'ম';

 


 


টেক্সট ভ্যালুসহ NOT BETWEEN অপারেটরের ব্যবহার

নিম্নের SQL স্টেটমেন্টটি "Student_details" টেবিল এর রেকর্ড-সমূহের মধ্যে যে সকল "শিক্ষার্থীর নাম(Student_name)" 'ক' থেকে 'ম' পর্যন্ত অক্ষর দ্বারা শুরু হয়েছে শুধুমাত্র তাদেরকে ছাড়া বাকীদেরকে নিয়ে আসবেঃ

উদাহরণ

SELECT * FROM Student_details
WHERE Student_name NOT BETWEEN 'ক' AND 'ম';

 


 


 

নমুনা ডেটাবেজ

নিচের অংশটি "Student_attendance" টেবিল থেকে নেওয়া হয়েছেঃ

আইডি নংরোল নাম্বারশতকরা উপস্থিতিভর্তির তারিখ
১০১৮৯%০১-১১-২০১৫
১০২৯১%০১-১১-২০১৫
১০৩৮০%০১-১১-২০১৫
১০৪৭৫%০২-১১-২০১৫
১০৫৭৭%০২-১১-২০১৫

ডেট ভ্যালুসহ BETWEEN অপারেটরের ব্যবহার

নিম্নের SQL স্টেটমেন্টটি "Student_attendance" টেবিল এর রেকর্ড-সমূহের মধ্যে যে সকল শিক্ষার্থীর "ভর্তির তারিখ(Admission_date)" '০১-১১-২০১৫' থেকে '১০-১১-২০১৫' এর মধ্যে শুধুমাত্র তাদেরকে নিয়ে আসবেঃ

উদাহরণ

SELECT * FROM Student_attendance
WHERE Admission_date BETWEEN '০১-১১-২০১৫' AND '১০-১১-২০১৫'
Content added By
Promotion